home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Inne / Gry / Carnage_Contest / scripts / CC Original / tools / Jackhammer.lua < prev    next >
Text File  |  2010-02-05  |  3KB  |  93 lines

  1. --------------------------------------------------------------------------------
  2. -- Weapon Jackhammer
  3. -- Original Carnage Contest Weapon
  4. -- Script by DC, August 2009, www.UnrealSoftware.de
  5. --------------------------------------------------------------------------------
  6.  
  7. -- Setup Tables
  8. if cc==nil then cc={} end
  9. cc.jackhammer={}
  10.  
  11. -- Load & Prepare Ressources
  12. cc.jackhammer.gfx_wpn=loadgfx("weapons/jackhammer.bmp")                        -- Weapon Image
  13. setmidhandle(cc.jackhammer.gfx_wpn)
  14. cc.jackhammer.sfx_attack=loadsfx("jackhammer.ogg")                            -- Attack Sound
  15. cc.jackhammer.sfx_hitground=loadsfx("crumble.ogg")                            -- Hit Ground Sound
  16.  
  17. --------------------------------------------------------------------------------
  18. -- Weapon: Jackhammer
  19. --------------------------------------------------------------------------------
  20.  
  21. cc.jackhammer.id=addweapon("cc.jackhammer","Jackhammer",cc.jackhammer.gfx_wpn,2)    -- Add Weapon (2 uses)
  22. cc.jackhammer.ammo=15                                                        -- 15 Digs
  23.  
  24. function cc.jackhammer.draw()                                                -- Draw
  25.     -- Draw
  26.     if getplayeraction(0)==0 then
  27.         setblend(blend_alpha)
  28.         setalpha(1)
  29.         setcolor(255,255,255)
  30.         setscale(-getplayerdirection(0),1)
  31.         setrotation(0)
  32.         drawimage(cc.jackhammer.gfx_wpn,getplayerx(0),getplayery(0)+8)
  33.     end
  34.     if weapon_shots<=cc.jackhammer.ammo then
  35.         if weapon_mode==0 then
  36.             hudinfo("Hit [Space] once to activate the jackhammer!")
  37.         elseif weapon_shots<cc.jackhammer.ammo then
  38.             hudinfo("Hit [Space] again to deactivate the jackhammer!")
  39.         end
  40.     end
  41. end
  42.  
  43. function cc.jackhammer.attack(attack)                                        -- Attack
  44.     -- Timer
  45.     if weapon_timer>0 then
  46.         weapon_timer=weapon_timer-1
  47.     end
  48.     -- Activate
  49.     if (weapon_mode==0) and (attack==1) then
  50.         weapon_mode=1
  51.     elseif (weapon_mode==1) then
  52.         -- Cancel
  53.         weapon_charge=weapon_charge+1
  54.         if (attack==1) and (weapon_charge>=10) then
  55.             weapon_shots=cc.jackhammer.ammo
  56.             endturn()
  57.         end
  58.     end
  59.     -- Attack
  60.     if (weapon_mode==1) and (weapon_timer<=0) and (weapon_shots<cc.jackhammer.ammo) then
  61.         -- No more weapon switching!
  62.         useweapon(0)
  63.         -- Ground Collision
  64.         inc=0
  65.         if collision(col10x10,getplayerx(0),getplayery(0)+15,1,0)==1 then
  66.             inc=1
  67.             particle(p_smoke,getplayerx(0),getplayery(0)+10)
  68.             playsound(cc.jackhammer.sfx_hitground)
  69.             for j=1,3,1 do
  70.                 terrainexplosion(getplayerx(0),getplayery(0)+j*4,15,2)
  71.             end
  72.         end
  73.         -- Player Collision
  74.         if collision(col10x10,getplayerx(0),getplayery(0)+18,0,1)==1 then
  75.             inc=1
  76.             if playercollision()~=0 and playercollision()~=playercurrent() then
  77.                 playerdamage(playercollision(),2)
  78.                 playsound(sfx_splatter1)
  79.                 blood(getplayerx(0),getplayery(0)+14)
  80.             end
  81.         end
  82.         if inc==1 then
  83.             playsound(cc.jackhammer.sfx_attack)
  84.             weapon_shots=weapon_shots+1
  85.             weapon_timer=5
  86.         end
  87.         -- End Turn
  88.         if weapon_shots>=cc.jackhammer.ammo then
  89.             endturn()
  90.         end
  91.     end
  92. end
  93.